A DSP is typically enabled by a telephone switching system central controller to manipulate digitized audio tones. DSPs are typically program controlled and its functions include PCM expanding or linear companding to or from CCITT A-law and or .mu.-law standards. The DSP typically also performs other functions, such as conferencing, tone detection, voice mail, etc. The output of data of the DSP typically is applied either to a sixteen channel parallel bus or to a serial bus.
In previous implementations, in-bound serial data to a DSP is shifted into a shift register every alternate channel time. After the shifting is complete, the DSP is interrupted to copy the in-bound data out of the register, and to copy any out-bound data into that register. The DSP uses a full channel time to complete this function. On the next channel boundary, shifting is resumed to shift out the out-bound data and simultaneously to shift in the next in-bound data.
The result of this is that out of thirty-two channels available on a typical serial bus such as the ST-BUS utilized in products sold by Mitel Corporation, only a maximum of sixteen channels could be used. Further, at least one of those sixteen channels were required to be used for control messaging.
In addition, access to this data has been processor intensive, involving sixteen interrupts every 125 microsecond frame; the timing of these channel interrupts has been found to be not straight forward. The result is a large software and time overhead required for data handling.
For example, out-bound data is two channels later than in-bound data. Also frame synchronization is required to be accomplished in software, since the DSP has no other way of determining what channel time the data it has read is coming from.
Conversion of PCM data to linear 16 bit integers using the A-law or .mu.-law standards was required to be done by means of DSP software. That software is an intensive algorithm and can result in undesirable compromises.